Voice control is an important area of research and development for a variety of computing device applications, such as for the implementation of voice recognition functions in mobile telecommunication devices. Early voice recognition systems attempted to recognise voice commands by analysis of sound wave envelopes, and the like. More recent developments in voice recognition include systems that interpret diction and syntax in a similar way to how humans recognise speech. Such voice recognition systems have proved to be a more accurate and effective mechanism for providing a natural language user interface.
A difficulty encountered in many voice recognition systems is that the voice recognition functionality exert significant demands on the processing capability and power consumption of a device when in use. These demands may be problematic for mobile computing devices in which processing power and battery capacity are typically constrained. For some applications, it is desirable that voice recognition is provided in an “always-on” mode in order to provide an improved user experience. However, the problems associated with the demands of voice recognition systems are exacerbated by providing voice recognition functionality continuously.
Options for reducing the processing overheads and power consumption of voice recognition systems include implementing a keyword detector, in which voice recognition is only initiated when a specific keyword is detected, or requiring a user to press a button before interaction. However, these solutions require the user to modify their behaviour in order to initiate voice recognition and so disrupt the user experience.
Speaker authentication systems suffer from the same problems a voice recognition systems because they may also require significant processing capability, which is why they may be mainly supported by an application processor (AP), which are typically included in high-end devices using a 10 to 20 MHz microcontroller with an ARM architecture, for example.